/*
了解了元注解的使用和注解的定义方式，尝试写个自己的注解，右键新建Java Class的时候，选择最后一个@Annotation
 */
package MyAnnotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.METHOD,ElementType.TYPE}) //TYPE 表示可以作用于类上，写多个作用域的话，用,逗号隔开
@Retention(RetentionPolicy.RUNTIME)
public @interface Test {

    //我们还可以在注解中定义一些成员变量，叫注解的属性。注解只有成员变量，没有方法。注解的成员变量在注解的定义中以“无形参的方法”形式赖生明，
    //其方法名定义了该成员变量的名字，其返回值定义了该成员变量的类型
//    String value();  //默认只有一个属性时，我们可以将其名字设定为value，否则我们需要在使用时手动指定注解的属性名称，使用value则不用指定名称
    String value() default "888"; //定义了成员变量后，使用注解的时候就要给值，可以指定value()的默认值，也可以在使用注解的时候指定值
    String value2(); //当有多个属性或不是value时，使用注解的时候，要指定成员变量是哪个
    String[] value3() default "lbwnb";  //当属性为数组时,也可以给String默认值，实际上把String字符串转换为只有一个元素的数组，用,逗号分隔可以写多个元素的数组
}
